#include<stdio.h>
int a[1005][1005];
int n,m,count=0;
int next[3][2]={{1,0},{0,1},{1,1}};
void dfs(int i,int j)
{
	int k;
	if(i==n&&j==m)
	{
		count++;
		return;
	}
	if(i>n||j>m)
		return;
	for(k=0;k<3;k++)
		if(a[i+next[k][0]][j+next[k][1]]==1)
			dfs(i+next[k][0],j+next[k][1]);
	return;
}
int main()
{
	int i,j;
	scanf("%d%d",&n,&m);getchar();
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%d",&a[i][j]);
	if(a[n][m])
		dfs(1,1);
	printf("%d",count);
	return 0;
}
